Conventionally, a computer system is equipped with various devices each making access to a main memory. For example, a cellular phone is equipped with a central processing unit (CPU), a digital baseband processor (DBB), a graphics processing unit (GPU), and a liquid crystal display controller (LCDC). Application software (hereinafter, “app”) run on a computer system jointly operates with the devices such as the CPU, DBB, GPU, and LCDC, to provide a service to the user.
Joint operations will be described. The computer system first stores into memory, data acquired by the DBB through a communication network. The CPU next subjects the acquired data to preprocessing for a codec process. The GPU then subjects the preprocessed data to the codec process. The CPU subjects the codec-processed data to post-processing for the codec process. Finally, the LCDC reads in the post-processed data for output to a liquid crystal display (LCD). In this manner, the computer system allows these devices to jointly operate in a pipeline manner, to achieve an improved throughput.
However, consequent to concurrent access of the main memory by the devices as a result of the joint operation, access contention may occur. The occurrence of access contention causes one of the devices attempting to access the main memory to have to wait, resulting in reduced throughput. Disclosed as a technology that prevents access contention is a technology that has an equal number of memory devices to that of the devices, each memory having an equal number of memory controllers to that of the devices (see, e.g., Japanese Laid-Open Patent Publication No. 2010-97311).
Among the described prior arts, the technology of Japanese Laid-Open Patent Publication No. 2010-97311 in particular has a problem in that due to the need for memory devices and memory controllers equivalent in number to that of the devices, the circuit scale becomes large, leading to increased production cost.